Una de las características más importantes de un lenguaje de descripción del hardware es la posibilidad de generar un circuito físico a partir de una descripción de RTL o de comportamiento. El proceso de generación de una representación en puertas lógicas de una descripción en VHDL se denomina síntesis. Este capítulo presenta una introducción general a la misma. No se pretende exponer exhaustivamente todas las formas de descripción para generar circuitos optimizados porque las herramientas de síntesis existentes actualmente producen resultados diferentes para la misma descripción. Sin embargo, se presenta una visión general de los conceptos asociados con síntesis y de la metodología general que se puede seguir para obtener un circuito que puede implementarse físicamente con éxito.
10.1 SÍNTESIS EN EL DISEÑO DE CIRCUITOS DIGITALES
La síntesis es el paso automático, realizado por una herramienta software, de un nivel de descripción a otro de nivel inferior. Los sintetizadores comerciales actuales traducen del nivel RTL al nivel lógico. Dependiendo de la herramienta este paso puede ser también al nivel físico, es decir, se genera la descripción física del circuito, ya sea de un dispositivo lógico programable (FPGA, PLD) o una máscara (a medida o a semimedida).
En la figura 10.1a se muestra un diagrama general del flujo de diseño de un circuito digital, desde su concepción hasta su fabricación. La síntesis es el puente que une el trabajo de especificación y diseño del circuito (o frontend), con el trabajo de implementación física del mismo en un circuito integrado u otro soporte (backend). Las herramientas para diseño físico utilizan una representación en puertas del circuito, y una serie de instrucciones que la herramienta de síntesis puede generar a partir de la descripción del circuito y las restricciones impuestas por el diseñador como se explicará más adelante.
En la actualidad, las fases de implementación física y síntesis están estrechamente unidas por las nuevas técnicas de optimización, como se muestra en la figura 10.1b. Antaño las herramientas de implementación física realizaban la optimización del circuito, devolviendo al diseñador, para las fases de descripción y síntesis, sólo información de tiempos en la implementación. El diseñador tenía entonces la responsabilidad de analizar y reparar cualquier problema, sintetizar de nuevo el diseño, y proveer una nueva representación en puertas para implementación física. Este proceso se puede realizar actualmente de forma automática con herramientas que combinan síntesis y diseño físico, de forma que tiempos y área se optimizan automáticamente hasta producir una implementación que se adapta a las especificaciones del diseñador.
Existen varios estándares de síntesis a partir de descripciones VHDL. El estándar IEEE Std 1076.6-1999 define el subconjunto de VHDL que se puede sintetizar con éxito. Por otro lado, el estándar IEEE Std 1076.3-1997 clarifica la interpretación física de diversos tipos de datos e introduce varios paquetes de aplicación en síntesis. Sin embargo, las herramientas de síntesis pueden no producir resultados óptimos en área o tiempos si la descripción no está específicamente generada para facilitar, o guiar, la síntesis.